Release notes for version 3.24.0

This article contains the release notes for Neuron Power Engineer version 3.24.0

Up-to-date information within online-version

Please check the online-version (provided under https://help.neuron-automation.eu) whether new pieces of information have been added since this user manual (as PDF/HTML/Word) has been published; e.g. the release notes quote new problems or there are new articles in the troubleshooting- or FAQ-section.
The online-version of the release notes for Neuron Power Engineer is available under: https://help.neuron-automation.eu – Use the version picker (above the table of contents) to switch to the relevant version of  Neuron Power Engineer.

Release-Notes for previous versions of Neuron Power Engineer are provided in the online-version under https://help.neuron-automation.eu only.

In this article:

General information

About compatibility:

If you have used a previous version of Neuron Power Engineer and you want to use the current version, see "Are my projects upwards and downwards compatible?" for important information. Recommended, if you are using projects that have been created in a previous version of Neuron Power Engineer: Clean the imported projects.

  • Neuron Power Engineer is not supported for 32-bit Windows systems any longer.

  • For  projects  that are containing function blocks with in-out variables (= VAR_IN_OUT) and that have been created or imported and cleaned in  version 3.1.0  (or a later version), some steps are required after the projects have been imported within versions < 3.1.0.  See "Functions blocks with VAR_IN_OUT from version < 3.1.0 prevent the building of the application".

  • For projects created or imported in version 3.0.0 (or a later version), some steps are required after the projects have been imported within versions < 3.0.0. See "Are my projects upwards and downwards compatible?".

  • FBD-objects that have been saved in version 2.5.0 or a following version cannot be opened in versions < 2.5.0 anymore. 

 

On the Log4j security vulnerability:

See "Is the IDE affected by the Log4j security vulnerability (December 2021, CVE-2021-44228, Log4Shell)".

About system libraries:

See "Release notes for system libraries".

About the illustrations in the IDE documentation:

Depending on the configuration of your Neuron Power Engineer version, the FBD-editor and its elements might be displayed differently in your Neuron Power Engineer version than illustrated in the IDE documentation. This is the case, if Neuron  or the system integrator has activated the smart styling or one of them has changed the styles for the FBD-editor. Subsequently, the illustration in the IDE documentation are symbolic images and the representation in your Neuron Power Engineer version takes precedence for the valid representation. In case of doubts, please contact Neuron or your system integrator.

See "Color and style for FBD-elements determined by data type" for details.

General information for runtime system and target systems

About the →runtime system :

If you are using Neuron Power Engineer version 3.24.0, install and use the version 5.19.0 of the runtime system.
The installation package for the runtime system is included in the delivery range of Neuron Power Engineer.

(warning) If you are using an older version of the runtime system, it might not be possible to successfully connect to the target system from within Neuron Power Engineer (see troubleshooting article "No connection to the target system, but there are error messages)".
(info) See the FAQ article "When to update the version of the runtime system on the PLC?", if you need information on how to check whether the runtime system version appropriate for Neuron Power Engineer is used on the PLC. 

About →Raspberry Pi :

See the tutorial "Putting Raspberry Pi into operation" which version is recommended by Neuron for usage.

New features in Neuron Power Engineer version 3.24.0

This section informs you about the latest new features for this version.

ID

Component

New feature

59503 IDE,
workspace,
libraries

With the positioning of the Neuron brand, there is a breaking change in this version:

  • The product names have been changed to: “Neuron Power Engineer” (for the IDE) and “Neuron RTS max” (for the runtime system)

As a consequence, the following changes have been made:

  • The file to start Neuron Power Engineer has changed to: NeuronPowerEngineer.exe
    This has the following consequences for you:

    • Double-click the file NeuronPowerEngineer.exe to start the IDE.

    • When you are using the headless tools, adjust the invocation of the headless tools to incorporate this new file name.
      Example for the new invocation of the automated importing of a project:

      NeuronPowerEngineerc --launcher.ini NeuronPowerEngineer.ini -application com.logicals.application.importer.application -noSplash -projectPath C:\LC3Projects\MyProject -data C:\temp\LC3Workspace -vmargs -Dlog4j.configuration=file:C:\LC3LogConfig\log4j.xml
  • The path suggested for the workspace has changed to C:\Users\TheoTest\logi.cals\NeuronPowerEngineer\workspace

  • The path for the library provider has changed to logi.cals\NeuronPowerEngineer\Libraries of the Windows user folder.

  • The path for the library cache has changed to logi.cals\NeuronPowerEngineer\.libcache  of the Windows user folder.

The IDE documentation reflects all these changes. As a short name for the company, “Neuron” is used in the IDE documentation.

  • When you start the new version of the IDE, Neuron strongly recommends you to use a new workspace when starting the IDE.
    The best practices is to use the path suggested for the workspace when starting Neuron Power Engineer. This is for example: C:\Users\TheoTest\logi.cals\NeuronPowerEngineer\workspace
    As a consequence, you have to import your projects into this new workspace.
    But, of course, it is still possible to use your workspace from the previous version. If you do, observe that the paths for the library provider and the library cache are the paths that have been specified in the previous version. The reason for this is that the path specifications for library provider and library cache are stored in the workspace.
    If you do accept the new workspace path that is suggested when starting the new version of IDE, there might be less confusion when you need to make changes that involve libraries, its library provider and library cache.

  • If you do use an existing workspace and the error message Unable to create resource URLImageDescriptor(platform:/plugin/com.logicals.common.ui/resources/icons/application_navigator_tab_icon_16x16x32.png) is displayed, start the IDE from a command prompt with the option -clearPersistedState. See “Error when starting the development environment” for details.

59605 Declaring variables

When you declare a variable by using the command New Variable... in the list of declared variables visible, the behavior of the opened dialog has been changed as follows:

In case of missing or incorrect data for the variable, the respective field in the dialog is now highlighted with a red border and an error icon. When you move the mouse pointer over this error icon, a message details the error.
Missing data is a missing name or a missing data type. Incorrect data is an invalid name, an invalid data type, an invalid initial value (in the context of the specified data type) or an initial value for an external variable.

In previous versions, the button OK has been highlighted with an error icon and only a generic message has been displayed. The new error highlighting makes it easier for you to fix the error for the variable declaration.

62386

Safety-relevant applications, FBD-editor

If you are creating safety-relevant applications, keep in mind that calls of blocks are no longer automatically updated when you open the FBD-editor if the interface for the blocks has changed in the interface editor. However, you remain able to update a changed interface yourself by selecting the call and pressing Ctrl+1 or the F5-key.

You can find more details on the update under "Updating existing calls for changed interfaces".

62479 List of declared variables, FBD-editor Now the list of the declared variables in the FBD-editor allows you to copy and paste existing variables and/or instances with a unique name. The data of the copied variables/instances (e.g. data type, initial value) are automatically entered in the pasted variables/instances.
See "Copying and pasting variables/instances" for details.
62506 "Instances" view, FBD-editor with/without instance context

When editing or debugging POUs in the FBD-editor, the IDE can open two different tabs of editing mode and debugging mode at the same time. This is the default behavior:

Now it is possible to change the default behavior so that just one tab is opened for editing and debugging POUs in the FBD-editor. If you are interested in this behavior, ask the system integrator to activate the new configuration variable -Dlc3.fbd.autoswitch_edit_diagnostic_view. Details on this configuration variable are provided in the English documentation "IDE administrator's manual" that is provided to the system integrators.

This possibility helps to avoid any synchronization issues between editing and debugging tabs. But mind that the closing and opening of the tabs might change the tab order.

62558

Safety-relevant applications, Building the application

The HTML-report that is generated when the application is built (also called build report) does now contain the information whether a task is defined as IO task. This information is displayed along with the other data for the program structure.

This new information is of particular interest when building safety-related applications.

108422 Validating an application When validating an application, you can configure the rules to be applied for a resource in the Configure Validation for resource name dialog. Now you can resize this dialog and change the arrangement of the areas in the dialog so that there is more space for the list of rules, for example.
108515 FBD-editor

The FBD-editor can now be used with 2 different stylings:

  1. legacy styling
    This is the styling as known from the previous versions of Neuron Power Engineer. This is the default styling if you or the system integrator have not changed anything for your system.

  2. smart styling
    This is an alternative to the legacy styling. Usually, the smart styling is activated by a system integrator because the configuration variable -Dlc3.editorstyle.smart.default must be defined.
    The main advantages of the smart styling are:

    • The FBD elements have a more modern display to create a more visually appealing appearance.

    • The appearance is less colorful while a clear visual differentiation of different data types is retained. As a consequence, it is easier to distinguish the safe and non-safe data types, function blocks, and functions.

    • The function blocks and functions provide more space to display the value of variables without having to place any OLT fields
      Also, value fields (containing a variable) automatically display the value of the variable on top of the value field, but value fields containing expressions or literals do not display the value. Consider this a variable value display that you cannot delete, move, or resize.

    • The variable value display is provided in the FBD-editor that is opened with an instance context. You can change the value of a variable by double-clicking the value and entering the new value in the dialog. This dialog is the usual dialog for changing the value of a variable.

    • You are still able to insert and use the OLT fields as known from legacy styling.

    • The smart styling supports a light theme as well as a dark theme. Both themes are provided in the preferences of Neuron Power Engineer (menu Windows, Preferences, group General, subgroup Appearance, select the appropriate theme under Theme).

See “Smart styling for the FBD-editor” for details and illustrations of how the FBD elements are displayed. All other illustrations with FBD elements in the user documentation use the legacy styling.

If the styling is changed, observe that the new styling is applied only to the newly created project. Already existing projects will not be affected by a changed styling. The chosen styling applies to all FBD-POUs in the project. It is not possible to mix legacy and smart styling within the same project.
Moreover, observe that copying and pasting FBD-elements between legacy and smart styling (or vice versa) might not correctly convert the pasted FBD-elements to the target style. In such a case, you must take care to adjust the pasted FBD-elements yourself.

Moreover, 2 new properties are provided for implementing vendor blocks. These properties are applied for the smart styling only. These properties are:

  • smartWidth: This property is similar to the existing property width. Both properties width and smartWidth determine the width of the block when the block is inserted into an FBD-editor, with smartWidth taking precedence. The best practice is to use smartWidth for smart styling and width for legacy styling.

  • safeStyle: This property is similar to the existing property bgColor but with a specified gold background color. The property safeStyle can be used if a block tracks safe signals when developing safety-related applications and the block should be displayed with this gold background color in the smart styling. Do not misuse the property safeStyle for other blocks because the color "Yellow" is used for tracking safe signals when developing safety-related applications. The misuse of the property safeStyle could have the consequence that the color "Gold" might also identify a non-safe logic as well.

See “Properties for implementing vendor blocks” for details on the properties for implementing vendor blocks.

108552 ST-editor, classes

You can create ST-classes, also identified just as “classes”. A class is a program organization unit (POU) consisting of:

  • the definition of a data structure,

  • a set of methods to be performed upon the data structure

A class is similar to a function block. See “Declaration of a class in ST“ on the ST-syntax of a class and the differences to a function block.

Observe that:

  • A class cannot be dragged into an FBD-editor.

  • It is possible to deploy a class in a library configuration by using the value “SOURCE” and “INTERFACE” but not with the value “OBJECT”.

Also, It is possible to deploy a function block with methods by using the value “SOURCE” and “INTERFACE”. Compare: In previous versions, it was possible to deploy function blocks with methods in a library configuration by using the value “SOURCE” only.

108625 ST-editor, reference variables You can use a function block as the type when you declare reference variables. In previous versions, this has not been possible. See “Declaration of reference variables (incl. assignments to them)“ on the ST-syntax of a reference variable.
108648 ST-editor, reference variables You can use a classe as the type when you declare reference variables. See “Declaration of reference variables (incl. assignments to them)“ on the ST-syntax of a reference variable.
108877 Java, JRE

The Java Runtime used by Neuron Power Engineer has been updated to version 17.0.9 to fix a memory leak.
JRE is included in the delivery range of Neuron Power Engineer and is installed together with Neuron Power Engineer.

See “Why do I need JRE?” for more information why JRE is needed for Neuron Power Engineer.

110995 ST-editor

The attribute SIZE has already been supported for directly derived data types. Now this attribute is also supported for a structured data type in ST.

Here the attribute SIZE can be added after the keyword END_STRUCT but before the character ;.

See the syntax under topic “Declaration of a structured data type with partial address in ST“ and “Declaration of a language element with partial address in ST“.

111007 ST-editor

When you declare a structured data type in the ST-editor and specify the optional attribute OFFSET, the pragma is correctly considered by the size calculation. The calculation of a wrong structure size (as reported by the issue with the ID “108513“ does not occur anymore.

Here is an example to illustrate the calculation using OFFSET: The new calculated size is 33 bits (depending on the element S_ByteNext placed behind S_Bool). Whereas in previous versions, the calculated size has been 25 bits.

{KeepElementOrder}
  Motion_Out_DataSpeed_Type : STRUCT
    Ready : BYTE;
    S_Byte AT %M* { OFFSET := 20} : BYTE;
    S_Bool AT %M* { OFFSET := 24} : BOOL;

          S_ByteNext : BYTE; // placed on offset 25

END_STRUCT;

More examples can be found in the topic “Declaration of a language element with partial address in ST“.

111149 Safety parameter editor

Now you open the safety parameter editor as follows:

  1. Make the application navigator visible.

  2. Expand a configuration in the application navigator.
    Result if the configuration contains a configuration of the safety-relevant hardware devices as parameters: The subfolder SafeNODEs becomes visible.

  3. Also, expand SafeNODEs to make the item with the icon visible as well.

  4. Open the context menu for this item and select the command Edit Safety Parameter. Alternative: Double-click this item.

In previous versions, the command was provided in the context menu for the configuration itself. In the current version, the configuration contains the new folder SafeNODEs to start the safety parameter editor.

Moreover, observe that the button Save all in the safety parameter editor is not provided anymore. Just use the button Save group that is still provided at the end of the group with the safety parameter editor.

111198 Validating an application

The standard package of the IDE provides the new rule Limited variability languages (LVL) must be used only.

Use this rule to check whether the application uses elements that do not follow the guidelines for limited variability languages (→LVL).

As usual for rules, you can change the configuration of this rule.

111209 Application navigator

Now, the application navigator displays the project blocks and global variables of the entire project. Observe that these elements are displayed under the folder Application.

Compare the behavior in previous versions:

  1. The folder Project blocks only listed the POUs, interfaces, and data types when they were located under the folder src of the project.
    The application navigator of the new version does not provide the folder Project blocks anymore.

  2. The folder Global variables only listed the global variables objects when they were located under the folder globals of the project.
    The application navigator of the new version does not provide the folder Global variables anymore.

111245 Target system, accessing IOs

For accessing IOs, mind that specified warnings/notes apply. See Properties and restrictions specific to the target system“, section Accessing IOs“ for details.

These warnings/notes are also included in the document “Safety instructions on working with the IDE” under “Warnings/notes for accessing IOs“ because they are relevant when you are developing a safety-related application.

111598 Interface editor

The tab Properties of the interface editor provides the new setting Safe style.

Neuron recommends to use this safe style only if a block tracks safe signals when developing safety-related applications. Do not misuse this setting for other blocks.

See “Defining background color for the interface” for more information on the impact of this setting.

111977 PLCopen blocks, IDE documentation

In the current IDE version, the PLCopen blocks are now based on the technical specification "TC5 - Safety, Version 2.10 – Official Release, Part 1 - Concepts and Function blocks" (© PLCopen). In the previous IDE version, the blocks were based on the version 2.01 of the technical specification.

Please observe that the description in the IDE documentation has not been updated to reflect this implementation change. The description will be updated in future versions.

In the meantime, if you need information on the changed behavior of the PLCopen blocks, please contact Neuron.

111979 IDE documentation

Starting with version 3.24.0, there are some changes for the online documentation:

Observe that there are some restrictions:

  1. There is no German translation for the V3.24.0 documentation.
    So, if you enter https://help.neuron-automation.eu/Documents/NPE/latest/DE, you get a piece of information that the German documentation is missing at present. Neuron will provide a German version documentation for future versions.

  2. The version documentation for V3.24.0 is missing some text formatting, such as Bold/Italic. Neuron will improve these formattings for future versions.

  3. If you need some information from a previous version documentation, go to https://help.neuron-automation.eu/Content/WelcomeWebsite/IDEDoc.htm and click on the links that are listed there. Neuron provides the version documentation, starting with V3.23.2 and reaching back to V3.16.0.
    These previous version documentations use the previous layout for “logi.CAD 3” and “logi.cals”.

  4. There is no version picker or language picker for the previous versions (V3.23.2 to V3.16.0) and the new version (V3.24.0). Please start under https://help.neuron-automation.eu/Content/WelcomeWebsite/IDEDoc.htm and navigate to the required version documentation.

New features relating to the runtime system and target systems

ID

Component

New feature

 

 

none

Fixed problems in Neuron Power Engineer version 3.24.0

If not otherwise stated, this sections informs you about problems that have occurred in version 3.23.2 and have been fixed for the current version 3.24.0.

ID

Component

Fixed problem

54528 FBD-editor, namespaces

Declaring a namespace in the FBD-editor might cause errors in the FBD-editor.
Fix: The problem according to the following scenario does not occur in the current version anymore. Moreover, it is possible that this problem does not occur anymore in versions after V3.20.0
Scenario for problem: The following steps cause errors in the FBD-editor:

  1. You declare an ST-function in a namespace.

  2. You call this ST-function within an FBD-program.

  3. You switch to the tab Namespaces in the FBD-editor for the program, enter a namespace for the FBD-program and press the Enter-key.
    Result: The call of the ST-function in the FBD-editor is highlighted as faulty. If you move the mouse pointer onto the error icon, the following message is displayed: Could not resolve reference to '_ST function_'. A function or function block instance with this name does not exist.

If you save the changes, the Problems view also displays this message and similar messages.

58528

PLC-object, building the application

Formatting the PLC object might cause an error in the specifications for PARAMS. As a result, it is not possible to load the application onto the PLC.
Fix: The problem according to the following scenario does not occur anymore.
Scenario for problem: Depending on the used PLC, the PLC object may contain specifications for PARAMS that control the communication with the gateway.

Example of specifications for communication with the gateway
{
  TARGET usRTSTarget_Win
    PARAMS := '{
      (* other data *)
      },
      "infrastructure" : {
       (* other data *) 
        "parameters" : {
          "programmerExec" : "<at:var at:name="PROGRAMMER" />",
          "programmerParam" : "<at:var at:name="FILENAME" /> C:\\temp\\RTSCode.upload.dll",
           (* other data *) 
        }
      }
    }';
  END_TARGET
}

If you format the code in the PLC object using the context menu command Source, Format or the keyboard shortcut Ctrl+Shift+F, the path specification after "programmerParam" is reformatted incorrectly, as spaces are inserted before and after the : character. So, the example C:\\tempRTSCode.upload.dll becomes: C : \\tempRTSCode.upload.dll
Due to this incorrect path, it is no longer possible to load the application to the PLC.

59213

"Instances" view, vendor blocks

The fingerprint of the application is not updated in the "Instances" view when changing C-sources.
Fix: The fingerprint of the application is updated in the Instances view when changing C-sources.
Scenario for problem: When changing the contents of a C-file of a vendor block and saving this change, the fingerprint of the application is not updated in the Instances view.

59774

Building the application

Changed applications for PTK GCC 10.2.x may fail to build.
Fix: The problem according to the following scenario does not occur anymore.
Scenario for problem: Building the changed application with platform toolkits that use GCC 10.2.x may fail with the following message:

ninja: error: FindFirstFileExA(c/:/prj/bur/saturn/runtime-spdesigner/counter1/src-gen): The filename, directory name, or volume label syntax is incorrect.

Additional information: The problem occurs only if the platform toolkit does not contain the forceRebuild setting or the setting is set to FALSE.

60255

FBD-editor, "Problems" view

The quick fix to resolve errors in the "Problems" view may not work.
Fix: The quick fix to resolve errors in the Problems view can be used now. If the quick fix cannot be applied, the following message in the error log informs you about the possible alternative: The quick fix is not available here. Use the quick fix or update commands provided in the context menu of the editor.
Scenario for problem: The context menu for messages in the Problems view may contain the command Quick Fix to perform a quick correction of the problem. In this case, a quick fix is not available:

  1. You are inserting the call for an ST function block into an FBD-editor.

  2. You insert a new input into the ST function block.
    Result: The call is highlighted as a warning. The warning in the Problems view contains the disabled command Quick Fix.

60268

Test framework

A test suite with a name that is too long cannot be exported to Excel.
Fix: The test suite can be exported because the IDE shortens the name that is too long. The following message informs you about this shortening: At least one testcase name is longer than 30 characters and has been automatically shortened for export.
Scenario for problem: By using the export wizard, it is possible to export a test suite to Excel. However, if the name of at least one testcase is longer than 30 characters, this export is not possible. In this case, the following messages are displayed in a dialog:

'Exporting test suite to Excel' has encountered a problem.
An internal error occurred during: 'Exporting test suite to Excel'
Cannot invoke 'org.osgi.framework.BundleContext.getBundle()' because the return value of 'com.logicals.lc3.api.common.BundleInformation.getBundleContext()' is null

 

60476

IDE documentation

The order of 2 illustrations in an article of the IDE documentation is wrong.
Fix: The article has been corrected in the IDE documentation so it contains the illustrations in the correct order.
Scenario for problem: The article "Inserting a call of a block or value field into existing lines" in the IDE documentation contains 2 illustrations in the last section that are in the wrong order.

60771

Migration

The migration of constants may cause an error in the target project.
Fix: The problem according to the following scenario does not occur anymore.
Scenario for problem: If you migrate a project of the predecessor product and an FBD-editor contains a value field with the constant "1.0E-6", the graphical FBD-editor cannot be opened for the migrated object with the value field. The reason for this is a syntax error as the value field contains the wrong value _1.0E-6.

60783

Access rights

A dialog for saving the changes is displayed by mistake.
Fix: The problem according to the following scenario does not occur anymore.
Scenario for problem: If you change the content of an FBD-editor without saving yet, then disable the access rights for the group Application and save the change in the FBD-editor despite the disabled features (by using the button Save all), you receive the correct information that the content cannot be saved due to the missing permissions for the access control, but that it can be saved under a different name. If you select No here to not save the content, a dialog will be displayed by mistake offering to save the content of the FBD-editor, not to save the content or to cancel the saving action itself.
Additional information: The same problem may occur if you use a version with team server function.

60825

Interface editor

The preview of the interface editor is not updated correctly when undoing the creation of a value field.
Fix: The problem according to the following scenario does not occur anymore.
Scenario for problem: When you create a value field within the interface editor (such value fields are also known as internal value fields), it seems that it is not possible to undo this creation. In fact, the created value field is deleted but the preview of the interface editor continues to display the value field. When selecting this value field in the preview, error messages are displayed within the error log.

60829

Interface editor

It may not be possible to undo the creation of a comment field within the interface editor.
Fix: The problem according to the following scenario does not occur anymore.
Scenario for problem: If you create a comment field within the interface editor and cancel entering the text in the comment field by pressing the ESC-key, it is not possible to undo this creation.

60833

Interface editor

The deletion of elements within the interface editor may need to be undone twice.
Fix: The undo action is only necessary once for the following scenario.
Scenario for problem: If you delete a value field, a comment field, or the instance name within the interface editor, and then want to undo this deletion, the deleted element is not restored. You must execute the undo action one more time for the deleted element to be restored.

61061 Instance data

An exception occurs when instance parameter are copied in a dialog.
Fix: The exception for the following scenario does not occur anymore.
Scenario for problem: When you copy the displayed instance parameter in a dilaog, an exception occurs. In this case, the following message is displayed in the error log.

com.logicals.iec.fbd.editor.shared
class com.logicals.iec.fbd.ui.editor.fxnode.GraphicElementsPaneImpl cannot be cast to class com.logicals.iec.fbd.editor.shared.fxnode.PagePane (com.logicals.iec.fbd.ui.editor.fxnode.GraphicElementsPaneImpl is in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @415ef4d8; com.logicals.iec.fbd.editor.shared.fxnode.PagePane is in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @3453acd2)

Additional information:

  • Instance parameters are a part of instance data that are additional data elements for the function block.

  • Usually, instance data elements exist only for function blocks within a library provided by a system integrator. If you want to display and/or enter instance data elements for a block within the graphical user interface of the IDE, you require an IDE variant that has been enhanced by a system integrator.

62735

List of declared variables

A STRING variable cannot be changed in the dialog.
Fix: The problem according to the following scenario does not occur anymore.
Scenario for problem: If a STRING variable is declared and you open the dialog for changing the name, data type and initial value of the declared variable (e.g. by double-clicking onto the variable in the list of declared variables), there is no entry for data type in the dialog. Therefore, it is not immediately possible to change the STRING variable. This is because the OK button is not available due to the missing data type.

62839

OLT-field

Special characters within OLT fields are not evaluated as expected when debugging an application.
Fix: The dialog to change the values for a STRING variable is now providing 2 tabs Visual and Text. Use these tabs as follows:

  • In the default tab Visual, enter the special characters by using the keyboard, such as umlauts (e.g. für) or several lines by pressing Shift+Enter.

  • Switch to the tab Text to enter the desired three-character combination (e.g. $FCr or $0a for a line break). This tab Text does not support the input of the special characters by using the keyboard.

Scenario for problem: When debugging an application, if you enter special characters, such as umlauts or texts with several lines, using the three-character combination (starting with the dollar sign ($) and followed by 2 hexadecimal digits), the entry is not evaluated as the expected character.
Examples: The entry $0a is not evaluated as a new line. The entry f$FCr is not evaluated as "für".
Additional information: The field Initial value for a STRING variable displays this three-character combination in the list of the declared variables.

106944

List of the declared variables

The initial value of declared variables might not be changed.
Fix: The problem according to the following scenario does not occur anymore.
Scenario for problem: If a variable is declared based on a structured data type, it is not possible to enter or change the initial value for this variable by clicking on the Initial value field in the list of the declared variables. It is also not possible to enter or change the initial value by using the command Edit Initial Value or Ctrl+I.

106952

Properties field, FBD-editor

The application cannot be built if the characters * / are contained in a property field in FBD.
Fix: The problem according to the following scenario does not occur anymore.
Scenario for problem: The application cannot be built if the characters * / are contained in a property field in FBD. In this case, the following messages are displayed:

The application for the PLC (resource "name1", platform toolkit "name2") cannot be created/loaded. Check the views "Error Log" and "Problems" for more information.
An error occurred during compiling or linking the code image (error code: 1).

106958

ST-editor

The application cannot be built if the characters */ are contained in a property field in ST.
Fix: The application can be built for the following scenario.
Scenario for problem: The application cannot be built if the characters */ are contained in a property statement in ST. In this case, the following messages are displayed:

The application for the PLC (resource "name1", platform toolkit "name2") cannot be created/loaded. Check the views "Error Log" and "Problems" for more information.
An error occurred during compiling or linking the code image (error code: 1).

107041

Application navigator, global-object

A global-object can be renamed to an invalid name in the application navigator.
Fix: The IDE prevents the invalid name of the global-object even when it is renamed in the application navigator.
Scenario for problem: It is possible to rename a global-object in the application navigator so that the name contains an invalid character (e.g. umlauts) or corresponds to an already used name if the name uses upper/lower case letters differently. As a result, the renamed global-object is correctly reported as faulty.
Additional information: The IDE prevents the creation of a global-object if the name contains an invalid character or corresponds to an already used name (regardless of the use of upper/lower case letters in the name).

107075

FBD-editor

The call of a block can be enlarged, although this should not be possible.
Fix: The problem according to the following scenario does not occur anymore.
Scenario for problem: If the setting Fixed Size is checked within the interface editor, it is not possible to make a call of the block larger or smaller according to the IDE documentation. In reality, you can enlarge the call if you adjust the size of several FBD-elements in one go by using the commands Layout and Same Size. Reducing the size is not possible in this way, as mentioned in the IDE documentation.

107259 IDE, device topology transformer (DTT)

Unexpected behavior of features in the case of the missing configuration variable -Dlc3.serverport=50055.
Fix: The problem according to the following scenario, in particular the problem for DTT, does not occur anymore.
Scenario for problem: The configuration variable -Dlc3.serverport can be used to set the server port for the IDE gRPC server, e.g. for the test framework, for remote-controlling the IDE or for using the device topology transformer. This is usually: 50055
If this configuration variable is not set in your environment or it is used but a different server port than 50055 is set, some features might not work as expected.
For instance, when using the sample reference implementation of the device topology transformer (DTT), the result of comparing the logic inside the DTT code generation process is the dialog Confirm for the generated models. But this dialog will not be displayed in the case of the missing configuration variable -Dlc3.serverport=50055.

107327

Global-variables-editor

The global-variables-editor might not display the expected icon for some variables.
Fix: The problem according to the following scenario does not occur anymore. According to the IDE documentation, the icon is now displayed for global variables with a user-defined data type.
Scenario for problem: The IDE documentation for the global-variables-editor contains the information that the icon is displayed for global variables with a user-defined data type. However, it also possible that a different icon is incorrectly displayed, if the variable is declared on the basis of one of the following data types:

  • data type with named values (enums)

  • directly derived data type

This means that the icon or  is displayed for such variables in the global-variables-editor. But only the icon should be used for this.

107391

ST-Editor, building the application

It might not be possible to build the application due to a called method.
Fix: It is possible to build the application for the following scenario.
Scenario for problem: If a method of a function block is called and this call is done using a global array function block instance, no errors are reported for the ST syntax. Nevertheless, the application cannot be built. In this case, the following messages are displayed:

The application for the PLC (resource "name1", platform toolkit "name2") cannot be created/loaded. Check the views "Error Log" and "Problems" for more information.
An error occurred during compiling or linking the code image (error code: 1).

After the attempt to build the application, the messages are displayed in the Problems view. Here are the messages for the customer scenario in which the problem occurred:

'LC_VD_GAUC_TESTARRAYGLOBALVAR' undeclared (first use in this function)
expected expression before 'LC_TD_FunctionBlock_APPLICATIONCOREx2EFB_TESTFB'
expected expression before 'LC_TD_FunctionBlock_APPLICATIONCOREx2EFB_TESTFB'
implicit declaration of function 'LC_GV_ACCESS_ARRAY'; did you mean 'LC_GV_ACCESS_FB'? [-Werror=implicit-function-declaration]
107403 Application navigator, namespaces Moving/copying a subfolder into a namespace folder does not update the namespace for the included objects.
Fix: The problem according to the following scenario does not occur anymore.
Scenario for problem: If you use a namespace folder, the IDE is updating the namespace during actions in the application navigator. This update takes place when moving/copying objects into a namespace folder, but not when moving/copying a subfolder with objects into a namespace folder. After the move/copy action for the subfolder, deviations are reported because the namespace in the objects of the subfolder and the namespace folder do not match.
Workaround: Only move or copy objects into a namespace folder, but not subfolders.
107430

Global-variables-editor

Undoing/Redoing the delete action for all sections does not work as expected.
Fix: The problem according to the following scenario does not occur anymore.
Scenario for problem: When you delete all sections in the global-variables-editor, but then you undo and redo this delete action, the sections are not deleted as expected.

107517

Building the application, ST-editor, FBD-editor

It is not possible to build the application, if a function block variable is assigned to the ANY input of a function block.
Fix: It is possible to build the application for the following scenario. The line in the FBD-editot is not highlighted as faulty anymore.
Scenario for problem: If you declare a function block instance and you assign the appropriate function block variable to the ANY input of a function block (see the following example in ST), it is not possible to build the application.

Example in ST
PROGRAM MyTest
  VAR
    rs1 : rs;
  END_VAR
  SEL(IN0 := rs1); (* The input 'IN0' of 'SEL' is declared with the generic data type 'ANY'. *)
END_PROGRAM

In this case, the following messages are displayed:

Faulty source files. The application for the PLC (resource "name1", platform toolkit "name2") cannot be created/loaded. Check the views "Error Log" and "Problems" for more information.
An unexpected error occurred: File <path>\<project>\src-gen\lcpu___mytest.c is missing.

Additional information: The problem also occurs in the FBD-editor. There, the line between the value field containing the function block variable and the ANY input of the function block is highlighted as faulty. The following error message is reported by mistake for this line:

Safety conflict: The unsafe output cannot be assigned to a safe input.
107563 FBD-editor

An exception is caused by a wrong array initialization when creating a new structured variable via the content assist.
Fix: The problem according to the following scenario does not occur anymore.
Scenario for problem: When creating a value field with a new variable via the content assist, by mistake it is possible to enter an array initial value for a variable that is declared based on a structured data type. For instance, if you enter Var1: myStruct := 1 (where myStruct is the structured data type), the variable is created. When saving the FBD-editor, an exception is caused. In this case, the error log displays this message:

class com.logicals.lc3.api.model.st.pou.impl.ArrayConstantImpl cannot be cast to class com.logicals.lc3.api.model.st.expression.StructureConstant (com.logicals.lc3.api.model.st.pou.impl.ArrayConstantImpl and com.logicals.lc3.api.model.st.expression.StructureConstant are in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @9dada78) ...
107568

List of the delared variables

An exception is caused when initializating structure elements while creating a new structured variable in the list of the declared variables.
Fix: The problem according to the following scenario does not occur anymore.
Scenario for problem: It is not possible to create a new variable with an initial value in the list of declared variables, if the variable is declared on the basis of a structured data type. If you enter the data for the variable in the dialog (see the following example), the variable is not created, but an exception condition is caused. In this case, the message Invalid expression is displayed in the error log.
Example for the data of the variable:

  • Name: Var1

  • Data type: myStruct

  • Initial value: (Elem1 := true)

107681,
107686
FBD-editor When using the content assist to create new variables, a possible conflict to existing variables of another variable section is not reported. The existing variable is automatically used.
Note: The IDE documentation has been updated in the current version to inform about the behavior for the following scenario. Observe that the implementation has not been changed in the current version.
Scenario for problem: It is possible to create values fields with new variables by using the content assist. For instance, the input L, C : var5 : BOOL := TRUE means that one value field will be created and it is to contain the internal variable (due to the prefix L for the section of the local variables, also known as internal variables) with the name var5 of data type BOOL and the initial value TRUE. Due to the prefix C, the variable is also declared with the keyword CONSTANT.
But in the case that there is already a variable with the same name and data type but this variable has been declared in a different section, this existing variable is automatically entered in the value field. So for instance, if there is an external variable var5 of data type BOOL but no initial value, this external variable is entered in the value field. During the input, there is no message reporting this conflict. Moreover, there is no information that the existing variable has been entered instead of the internal, constant variable var5 (with the specified data type and initial value) and that this new variable has not been created at all.
Additional information 1: The IDE documentation does not specify the behavior for the above problem
Additional information 2: In the case that there is already a variable with the same name but a different data type, this conflict is reported and it is not possible to declare the new variable. A similar behavior has been expected for the above problem, even if the IDE documentation does not specify the behavior.
108015 Safety parameter editor, IDE documentation

The IDE documentation on the safety parameter editor does not contain information on the valid range for floating point value.
Fix: The online help was corrected around the middle of December 2023 to provide the missing information. The HTML help for the following versions (e.g. V3.23.2, V3.24.0) also contains this information.
Scenario for problem: The article "Viewing or changing the current parameter values" under the section "Hardware parameterization using the safety parameter editor" contains instructions on how to change values in the safety parameter editor. An example for a floating point value is specified, it illustrates the behavior that the safety parameter editor changes the specified value. But there are no generic information on the valid range for floating point values and when such values are changed.
Additional information on the floating-point values: Due to the internal representation of floating-point numbers, the safety parameter editor might round the specified floating point value as follows:

  • If a single-precision floating-point number (also known as float32 value) has more than 7 digits in its fractional part, this value is rounded by the safety parameter editor to have at a maximum of 7 digits in its fractional part.

  • If a double-precision floating-point number (also known as float64 value) has more than 15 digits in its fractional part, this value is rounded by the safety parameter editor to have a maximum of 15 digits in its fractional part.

Moreover, if a specified value cannot be precisely interpreted as a floating-point number, the safety parameter editor corrects the value to the corresponding floating-point number.

Example: The value 3.1415166 is rounded to 3.1415167. The reason is that 3.1415166 is represented as 3.14151668548583984375 as a floating-point number, which is finally rounded to have a 7 digit fraction.
Also observe the following:

  • When you hover over the field for Value, the tooltip informs you about the type of the floating point value. The value is either Float32 or Float64.

  • You are able to specify a floating point value using the exponent notation, such as 3.1415167e2. In this case, the safety parameter editor corrects the specified value to a notation without the exponent. As a consequence, the yellow background color of the changed field is kept and a warning informs you about the change. You have to e.g. press the Enter-key in order to confirm the value that has been entered by the safety parameter editor instead of your specified value.

108037 Test framework

An exception occurs during the SiL/PiL test for a library block.
Fix: The exception does not occur for the following scenario anymore.
Scenario for problem: If you execute a SiL/PiL test for a library block, this test is executed but an exceptions occurs. In this case, the error log displays the following message: java.lang.NullPointerException: Cannot invoke "String.indexOf(int)" because "fullPath" is null
Additional information: A test suite for a library block can be created by using the context menu command New.., Other... and Block Test Suite in the category for the test framework.

108083 Creating custom library with user blocks The IDE documentation does not specify clearly that the preferences for the library providers are just for the configuration of the library providers.
Fix: Now the IDE documentation makes it clear that the preferences for the library providers are just for their configuration and that a selection does not change the library provider to be applied for the projects.
Scenario for problem: The IDE documentation contains information about the library providers “Local file system” and “Current project”. The IDE documentation also specifies that the options for the library providers can be inspected and changed in the preferences (menu “Window”, “Preferences”, group “Library Provider”, “Library Provider”). However, it does not specify that the changes for a library provider are just applied to the configuration of the library providers. Observe that the selection of the library provider does not change the library provider to be applied for the projects.
108088 List of the declared variables The initial value of declared variables might not be changed.
Fix: The problem according to the following scenario does not occur anymore.
Scenario for problem: If a reference variable is declared or a variable is declared based on a function block, it is not possible to enter or change the initial value for this variable by clicking on the Initial value field in the list of the declared variables. It is also not possible to enter or change the initial value by using the command Edit Initial Value or Ctrl+I.
108117 "Build Log" view, vendor blocks

The fingerprint of the built application might not be updated in the "Build Log" view when the C-sources are changed.
Fix: The fingerprint of the built application is updated in the Build Log view for the following scenario.
Scenario for problem: When changing the contents of a C-file of a vendor block and saving this change, the fingerprint of the application is not updated in the Build Log view. when the application is built for the first time after the change.

108128 Test framework

Specific notations for duration literals, date and time literals and time of day literals are not supported when defining intial values for outputs in the test case.
Fix: The problem according to the following scenario does not occur anymore.
Scenario for problem: When defining an initial value for outputs in the test case, it is not possible to use the following notations:

  • T# – example for such an initial value: T#14ms

  • DATE# – example for such an initial value: DATE#1984-06-25

  • TIME_OF_DAY# – example for such an initial value: TIME_OF_DAY#15:36:55.36

If you use this notations, the tests will be failing because the intial values are not considered as expected.

108217 FBD-editor

Changing the instance name does not update the referenced instance name.
Fix: The problem according to the following scenario does not occur anymore.
Scenario for problem: It is possible to use an instance name of a function block within a value field (e.g. you enter RS1.Q1 to call the output Q1 of the function block instance RS1). When you rename the instance, the instance name in the value field is not updated. Only when you save the changed FBD-editor, the Problems view displays messages that the references cannot be resolved.

108344 "Instances" view The version specification under "Recommended version" for the runtime system in a customer version is not displayed as expected.
Fix: The problem according to the following scenario does not occur anymore.
Scenario for problem: The Instances view displays the item Runtime system below PLC information. The sub-items list information on the used runtime system on the PLC (type and version) as well as a recommendation which version should be used for the application. In a customer version, however, the item Recommended version does not display the expected version specification for the runtime system. Instead of this, the version specification is displayed with the suffix SNAPSHOT.
108389 Application navigator A closed project can still be expanded in the application navigator.
Fix: The problem according to the following scenario does not occur anymore.
Scenario for problem: If you close a project, the project can still be expanded in the application navigator. In this case, the application navigator only shows the folder Project blocks for the closed project.
108394 Application navigator The name of a created project might not be displayed in the application navigator.
Fix: The problem according to the following scenario does not occur anymore.
Scenario for problem: If you create a project in the project explorer and then switch to the application navigator, it is possible that the name of the created project is not displayed in the application navigator.
108513 ST-editor

When using ST data types with the SIZE/OFFSET pragma, mapping variables to IEC hardware addresses might produce wrong copy sizes and bit offsets.
Fix: The problem 1 according to the following scenario does not occur anymore. The problem 2 according to the following scenario does not occur anymore as well, but this has been fixed based on the issue with the ID “110243”
Scenario for problem 1: In the ST-editor, when you use a directly derived data type with the optional attribute SIZE for the bit size for an array variable, the result for the copy sizes and bit offsets is not as expected.
Scenario for problem 2: When you declare a structured data type in the ST-editor and you specify the optional attribute OFFSET, the pragma is ignored by the size calculation and may lead to a calculation of a wrong copy size.

108609 IDE documentation, data types

The IDE documentation contains wrong information: The lower and upper limit is not correctly specified for the data type BOOL.
Fix: The IDE documentation has been corrected for the current version.
Scenario for problem: The article “Supported data types (in ST))” in the IDE documentation specifies the supported data types, their initial values, lower limits and upper limits. The lower limit and the upper limit for the data type BOOL is not correctly specified in the IDE documentation. Observe that the German and the English language of the IDE documentation contain wrong information. The following text on the lower limit and upper limit is the correct information for the data type BOOL:

Default initial value (I): 0 or FALSE
Lower limit (L): as default initial value (I)
Upper limit (U): 1 or TRUE

108741 Building the application The same error text is displayed twice for the same exception.
Fix: The dialog displays the heading “Error in platform toolkit” for such customer-specific errors in the platform toolkit.
Scenario for problem: In a customer-specified version, customer-specific errors might be reported when an exception occurs while building the application. The dialog reporting this exception displays the same error twice. Additional problem: The customer-specific error has been realized in the platform toolkit. The same error text is used for the heading as well as the details of the dialog.
109272 ST-editor, reference variable

The assignment to a reference variable is reported as an error by mistake.
Fix: The problem according to the following scenario does not occur anymore.
Scenario for problem: In the following ST-code, the assignment to the reference variable is reported as an error:

FUNCTION_BLOCK RefToVar
VAR
cnt : DINT;
rcnt : REF_TO DINT;
END_VAR
METHOD execute
rcnt := REF(cnt); // This is the assignment to the reference variable 'rcnt'.
END_METHOD
END_FUNCTION_BLOCK

The following error message is reported: References to local variables are not allowed in functions/methods. "cnt" is a local variable.

109920 Command line interfaces, headless tools Exceptions are caused in the command line when building or deploying libraries by using the headless tool. The libraries are built/deployed anyway.
Fix: The problem according to the following scenario does not occur anymore.
Scenario for problem: When you are using the headless tool for the automated building (=generation) and deployment of libraries, an exception might be caused in the command line where the headless tool is invoked.
110255 Safety-relevant applications Wrong customized files for starting the IDE might be included in the file configuration\com.logicals\configuration.idx.
Fix: The problem according to the following scenario does not occur anymore.
Scenario for problem: Before starting the IDE to build safety-relevant applications and/or libraries for these applications, you must verify that the IDE has not been modified. This is done by checking the md5sum of the file configuration\com.logicals\configuration.idx. However, the file might contain the wrong files. Hence, the verification is not possible as the safety manual instructs.
Additional information: This problem only applies to a customer version for which the files have been customized regarding its file name.
110566 Opening the help An exception is caused by opening the help for an data type.
Fix: The problem according to the following scenario does not occur anymore.
Scenario for problem: If you select the command Show Help for a data type, the help is not opened. Instead, an exception is caused. In this case, the error log displays this message: Unhandled event loop exception
111403 FBD-editor

A wrong error about a safety conflict is reported when a function block instance is connected to the input of a SEL block.
Fix: The line is not highlighted as faulty anymore, and the safety conflict error is not reported anymore. Analogous to the ST-code, the application with the FBD-editor cannot be built (see the release notes for the ID “111534” for this problem).
Scenario for problem: When you enter a function block instance in a value field (e.g. sr1) and connect this value to the input IN1 of a SEL block, the line is highlighted as faulty and the following error is reported: Safety conflict: The unsafe output cannot be assigned to a safe input.
However, the logic does not use any element for a safety-related application. So this message regarding the safety conflict is misleading.
Compare: In the ST-editor, the analogous ST-code is not reported as faulty. However, the application cannot be built for the ST-code; see the release notes for the ID “111534” for this problem.

111453 ST-editor

The application cannot be built using an external variable declared in the ST code and an input variable declared in a function block. Both variables have the same name.
Fix: The problem according to the following scenario does not occur anymore.
Scenario for problem: The application cannot be built for the following scenario:

  1. The program in ST contains the declaration of an external variable (VAR_EXTERNAL … END_VAR).

  2. A function block contains the declaration of an input variable (VAR_INPUT … END_VAR).

  3. The external variable as well as the input variable have the same name, but different upper and lower case.

111873 System blocks, PLCopen blocks

Missing information about the behavior of output “ENO” for the PLCopen blocks.
Fix: An appropriate text has enhanced the user documentation about the PLCopen blocks (topic “Common Library Information”) and about the output ENO.
Scenario for problem: The following information is missing in the documentation of the PLCopen blocks:

If the PLCOpen block unconditionally reaches an undefined diagnostic code, the output ENO of the PLCopen block is set to FALSE whereas the output ERROR of the PLCopen block is set to TRUE.

Changes affecting the code generation

The following changes in Neuron Power Engineer version 3.24.0 affect the automatically generated C-code (and thus the built application), even if you do not make any changes in the application yourself. Observe that when you load the application, the changed code will be loaded onto the PLC.

Change

Starting with version

More information on the change

none

 

 

Note: The flag   SAFETY   means that the change must be taken into account in particular when developing safety-relevant applications. A change without this flag applies to a functionality/configuration which is not supported for the development of safety-relevant applications.

Known problems in Neuron Power Engineer version 3.24.0

ID

Component

Known problem

49494

Application navigator,
ST-object

When several function blocks have been created in the same ST object, the command "Delete" in the application navigator deletes all function blocks in this ST object without any previous information.
Scenario for problem: It is possible to create several language elements, such as function blocks, in the same ST-object. When in the application navigator, you are selecting the command Delete for one of these language elements, all language elements in the ST-object are deleted because the entire ST-object is deleted. There is no information before the delete action that other elements will be affected by the delete action.
Additional information: The same problem occurs in case of a moving action. This means: If one element is moved, the other elements within the ST-object are moved as well.
Workaround: Before you delete an element, you might want to check whether there are other elements in the same object. If yes, rather delete the element in the ST-object (i.e. in the ST-editor).

49498

Application navigator

The command "Go Into" in the application navigator does not behave as expected.
Scenario for problem: The command Go into should refocus the view to the currently selected folder. However, if the command is selected in the application navigator (for example, for the folder Project blocks), the view does not display the contents of only this folder, but all projects that are currently open will be displayed in that folder as well. This behavior in the application navigator is not as expected.
Workaround: none available

59175

Teaming up to create applications, vendor blocks

The automatically generated H-/C-files for vendor blocks are not automatically locked. The editor for them is not opened in a read-only mode.
Scenario for problem: If you open an existing object from within the view Team Monitor, the IDE automatically locks this object. If the IDE cannot lock the object, the editor is opened in read-only mode. This is true for a vendor block itself but not for the H-/C-files that are automatically generated for the vendor block.
Workaround: Lock the H-/C-files yourself by opening the context menu for these files within the project explorer and selecting the command Lock selected files.

60703

Validating the application

Syntax errors might be caused when using the content assist to suppress warnings for rule violations.
Scenario for problem: The IDE documentation contains information to use the content assist when trying to suppress the warning for a rule violation (based on a specified example in the documentation). But when doing this, an error about an unexpected character is caused for the following 2 rules:

  • Namespaces of language elements must match the identifier of the parent namespace folder.

  • Namespace folders need a unique identifier.

Workaround: none existing

60726

IDE

The changed file association is ignored for opening a data type from a library configuration.
Scenario for problem: The user preferences allow to change file associations for data types. However, if you delete the Editor for data types association assigned to the data type .iecst, the graphical enum-editor continues to be opened when opening a data type from a library configuration.
Workaround: none available

60776

LD-editor

No emphasis is displayed when reconnecting existing link elements within the LD-editor.
Scenario for problem: The possible logic elements (e.g. contacts and coils) should be emphasized when reconnecting existing link elements to indicate that you can reconnect the link element to one of these logic elements. However, this emphasis is not displayed within the LD-editor.
Workaround: none existing

61171

Teaming up to create applications

The "Team Monitor" view does not determine the status changes on the team server at the expected interval.
Scenario for problem: The upper list under Changed on master of the Team Monitor view shows which changes of the project are available on the team server. If the local files differ from the status of the master, this view should be updated automatically every 30 seconds. However, the list is not updated but it remains empty.
Workaround: Refresh the list yourself by selecting Refresh in the context menu for the list or by pressing the F5-key.

61175

Access control

It is possible to turn a folder into a namespace folder and vice versa without the appropriate access control rights to edit the application logic.
Scenario for problem: Without the access right Edit application logic, it is not possible to edit the application logic. However, it is possible to:

  • turn a folder into a namespace folder by selecting Assign Namespace in the context menu for a folder within the application navigator.

  • remove the namespace assignment and namespaces for objects by selecting Unassign Namespace in the context menu for a namespace folder within the application navigator.

Workaround: none existing

61183

Access control

It is possible to assign a USING instruction for accessing a namespace folder and delete this instruction without the appropriate access control rights to edit the application logic.
Scenario for problem: Without the access right Edit application logic, it is not possible to edit the application logic. However, it is possible to:

  • assign a USING instruction for accessing the objects of a different namespace folder existing in the application navigator.

  • delete such a USING instruction in the application navigator.

Workaround: none existing

61187

Artifact identity

The artifact identity is not created/updated when turning a folder into a namespace folder or assigning a USING instruction for accessing a namespace folder.
Scenario 1 for problem: The file with the artifact identity is not created, if you turn a folder into a namespace folder by selecting Assign Namespace in the context menu for a folder within the application navigator.
Scenario 2 for problem: If there is a file with the artifact identity (see "Workaround") and you assign a USING instruction for accessing a different namespace folder, the file with the artifact identity is not updated.
Additional information: The problems only occur, if you are using the feature "artifact identity". The missing/outdated file with the artifact identity is not reported to the user. The problems become only obvious if the user tries to execute an actions with the namespace folder (e.g. moving the namespace folder is not possible).
Workaround after any action regarding a namespace folder: Locate the file .iecproperties in the namespace folder. Observe that this file is hidden in the project explorer and application navigator by default. Therefore, uncheck the filter for .* resource to display the file in the project explorer. Then open the file .iecproperties in a text editor of the IDE, make a minimal change (e.g. add a blank) and save the change in order to create/update the artifact identity.

107348

 Building the application

Building an application might lead to linker warnings.
Scenario for problem: Depending on the used toolchain, linker warnings might occur when building an application. The warnings are caused by a discrepancy between extern declarations and the definition of symbols in the C-code. The problem has been observed when using external variables in the ST-code or in the FBD-logic.
Workaround: Ignore the warnings.

107379

FBD-editor

The IDE documentation differs from the implementation in a special case for replacing a block call.
Scenario for problem: The IDE documentation describes special cases when replacing a block call. Example 1 in the section "Behavior when replacing: Instance name is not used" shows that:

  1. the access to a variable of the original block is not automatically updated to the name of the new block.
    The implementation and IDE documentation match here.

  2. the access is highlighted as faulty.
    The implementation and IDE documentation do not match here: Actually, the access is not highlighted as faulty. The reason for this is that the variable of the original block is no longer deleted automatically, as this has been the case in previous versions.

Here is the illustration from the IDE documentation in which the value field with the access SR1.Q1 became faulty after a block SR has been replaced by a block TON:


However, this value field will not be highlighted as faulty.
Additional information: The English IDE documentation contains a 2nd image for the example 1 that does not illustrate the replacement from SR by TON, but it repeatedly displays the 1st image with the block SR. The German IDE documentation contains the correct image of the replacement.
Workaround: none existing

107419

Application navigator, namespaces

Objects in nested namespace folders do not have a nested namespace.
Scenario for problem: If you create a namespace folder as a subfolder in an existing namespace folder, the objects in the subfolder are only declared in the namespace of this subfolder. However, the expectation is that the objects are declared in a nested namespace, as nested namespaces for ST-objects and FBD-objects are possible according to the IDE documentation and the IDE-documentation for the namespace folders does not contain any information whether nested namespaces are possible for nested folders.
Example: The namespace folder NS1 contains the subfolder NS2 that is also a namespace folder. The objects in the namespace folder NS2 are declared in the namespace NS2. However, the expectation is that the objects are declared in the nested namespace NS1.NS2.
Workaround: none existing

107558

FBD-editor

The initialization of structure elements is not possible when creating a new structured variable via the content assist.
Scenario for problem: When creating a value field with a new variable via the content assist, it is not possible to enter an initial value for a variable that is declared based on a structured data type. For instance, if you enter Var1: myStruct := (Elem1 := true) (where myStruct is the structured data type and Elem1 one of its structure elements), the message Invalid expression is displayed.
Workaround: Create the variable without the intial value. For instance, enter Var1: myStruct in the content assist. Afterwards go the the list of the delared variables, double-click the created variable to open the dialog to modify its data. In the field Initial value, enter the initial value, e.g. (Elem1 := true) for the above example.

107713

Access control

An exception might be caused when importing an existing access rights configuration.
Scenario for problem: If an existing access rights configuration is imported into a closed project, an exception is caused. In this case, the text java.util.NoSuchElementException: No value present is displayed in the error log.
Workaround: Import the access rights configuration into the opened project.

107764 FBD-editor, Cleaning the project FBD-elements are highlighted as faulty in the opened FBD-editor, if the corresponding C-file has been opened while cleaning the project.
Scenario for problem: If you have opened an FBD-editor and the corresponding C-file while the project is being cleaned, the lines and the connected block calls are highlighted as faulty in the opened FBD-editor. If you move the mouse pointer onto the error icon of the call, these messages are displayed for each block and block input: Could not resolve reference to '_name_'. A variable with this name does not exist.
Additional information: Usually, C files are not displayed in the views with the resources (e.g. the project explorer). However, C files can be displayed in the project explorer, if you deactivate the src-gen folder filter for the view. In this case, it is also easy to open the editor for a C file from within the project explorer.
Workaround: Close and reopen the FBD-editor
107789 Global-variables-editor The sort order might not be as expected, when moving multiple global variables or sections in the global-variables-editor.
Scenario for problem: When you are moving multiple global variables or sections in the global-variables-editor, the variables or section might not be sorted as expected.
Workaround: none existing
108722 PLCs, Connecting to the PLC

After a failed loading of the application, GUI elements in the “Instances“ view might not be in sync.
Scenario for problem: When using a microcontroller system without a separation between firmware and application (e.g. when using Controllinos as PLCs), it is possible that some of the GUI elements in the Instances view are not correctly synchronized. The problem has been observed after an application could not be loaded onto the PLC because the application used too much RAM. The following happened after the Gateway closed the connection:

  • The button Connect to PLC was enabled but the line Connection state displayed Online.

  • All other information about the PLC displayed Unknown”.

Workaround: Click the button Connect to PLC again to update the state. Subsequently, the line Connection state displays Online with the execution state Error.

109235 Safety-relevant applications

The integration acceptance tests cannot be executed because of missing files.
Scenario for problem: The integration acceptance tests according to the integration manual cannot be executed as expected. The reason is that files for the project LC3cSystemTest are missing. This problem applies to versions that are used to develop safety-relevant applications.
Additional information: The integration manual specifies specific integration acceptance tests which a system integrator must execute when integrating the IDE.
Workaround: Contact Neuron to get the missing files.

109982 Safety-relevant applications

The build report might contain error messages about unverified data types.
Scenario for problem: The build report contains error messages about unverified data types, if the data types are only used in a C-code. Hence, the problem also applies, if the data type has been used in the ST body only, e.g. in an IF statement, or if just a temporary variable (VAR_TEMP … END_VAR) has been declared based on the data type.
The build report contains this error message:

The source file "project_path/src-gen/h/lcdt___data_type_name.h" with checksum "checksum_value" could not be verified.

Workaround: In an ST program or an ST function block, declare an internal variable (VAR … END_VAR) based on the data type.

110582 Text files

A message is displayed when entering “**” at the beginning of a text file.
Scenario for problem: When you enter the characters “**” (but without ““) at the beginning of a text file located in the folder src and you save this text file, the following message is displayed: Unrecognized table header: ''
Additional information: The problem has been detected in a customer version.
Workaround: none existing

111534 Building the application

The application cannot be built when a function block instance is assigned/connected to the input of a SEL block.
Scenario for problem: When you declare a function block instance as a variable (e.g. by the ST-code VAR sr1 : SR; END_VAR) and assign this instance to the input IN1 of a SEL block (e.g. by the ST-code SEL(IN1:=sr1)), the application cannot be built. In this case, the following messages are displayed:

The application for the PLC (resource "name1", platform toolkit "name2") cannot be created/loaded. Check the views "Error Log" and "Problems" for more information.

An error occurred during compiling or linking the code image (error code: 1).

After the attempt to build the application, messages are displayed in the Problems view. Here are the messages for the described scenario:

implicit declaration of function 'LC_INIT_DataType_SR'; did you mean 'LC_INIT_DataType_SAFEBOOL'? [-Werror=implicit-function-declaration]in expansion of macro 'LC_INIT_Function_SEL__DERIVED_SR'in expansion of macro 'LC_INIT_IMPL__SEL__DERIVED'

Additional information 1: The same problem also applies to other blocks, e.g. MUX block or FORCMRK block.
Additional information 2: The same problem also applies to the FBD-editor after the problem for the ID “111403” (regarding a message about a safety conflict) has been fixed for the FBD-editor.
Workaround: Do not assign/connect the variable of a function block instance to the inputs of such blocks. This applies to the ST-editor and FBD-editor.

(info) If your problem is not listed in this list, check these sections: Troubleshooting and FAQ

Addendum: Known issues after the release of Neuron Power Engineer version 3.24.0

This section was last updated on: 2024-04-12

For issues discovered after the release of Neuron Power Engineer version 3.24.0, please refer to the release notes of the successor versions. Both the list of known problems and the list of fixed problems might contain descriptions of problems that are relevant for Neuron Power Engineer version 3.24.0.

Issues that have been reported before the successor version has been released are listed below. This list is updated at regular intervals (see the date after the section heading). If you need more up-to-date information, please contact Neuron .

ID

Known problem

59779 A memory leak occurs when scrolling through extensive FBD-objects.
Scenario for problem: If an FBD-editor with many pages/objects is opened for a longer period of time and the view onto to the contained pages/objects is changed (= you are scrolling through the FBD-editor), the memory consumption might increase considerably. As a result, it is no longer possible to operate the FBD-editor.
Additional information: The display of the FBD-elements occupies memory. This memory is not freed if these FBD-elements are no longer displayed. The more FBD-elements are displayed by scrolling, the more memory is used.
The problem might occur even earlier, if the FBD-editor contains many OLT-fields and data is displayed in these OLT-fields while testing/debugging.
Workaround to free the memory: Close the FBD-editor and reopen it. Or close the IDE itself and restart it.

112265

Deviation in the technical specification for PLCopen blocks, current version 2.10 to previous version 2.01.
Scenario for problem: The implementations of the blocks EmergencyStop, ESPE and PSE were identical in the technical specification "TC5 - Safety, Version 2.01 – Official Release, Part 1 - Concepts and Function blocks" (© PLCopen). Since version 2.10 of this technical specification, the implementation of EmergencyStop does not follow the others blocks anymore.
Neuron assumes that this is wrong in the technical specification and is currently clarifying this with PLCopen.
Workaround: none existing

112370 The “Application” folder might not display any additional decorators, such as the decorator for errors/warnings.
Scenario for problem: Additional decorators within an object icon inform about the state of the object (e.g. that it is faulty or that there is a warning for this object). These decorators are also provided within a folder icon to inform about the states of the objects that are included in the folder. However, these decorators are missing for the Application folder.
Workaround: Expand the Application folder to view the states of the included objects.
112386 Renaming a configuration or resource in the application navigator does not update the associated items there.
Scenario for problem: When you rename a configuration or resource in the application navigator (e.g. by using the command Rename), the folders Sources for configuration and Sources for resources are not updated appropriately. Instead, these folders do not contain any objects anymore. This is because the associated folders for the configuration/resource have not been renamed as well. The project structure still displays the folders with the previous names whereas the Sources for configuration and Sources for resources folders are already looking for the objects in the folders with the new names.
Workaround: Change to the project explorer. There, rename the folders with the previous names for the configuration/resource. Then change to the application navigator and refresh the view.
112411 Error message about invalid namespace is not sufficiently visible in the FBD-editor.
Scenario for problem: If you enter an invalid namespace (e.g. 11) in the tab “Namespace” of the FBD-editor, an appropriate error message is displayed but the message is not entirely visible.
Additional information: A namespace must be an IEC-identifier. See “→IEC-identifier” for details.
Workaround: Enter an IEC-identifier as namespace to avoid getting the error message.
112437 An empty folder is displayed under the project, when a new folder is created under the “Application” folder.
Scenario for problem: When you create a new folder under the Application folder in the application navigator, an item without any name is displayed under the project folder. This empty item is automatically selected.
Workaround: Refresh the view so that the empty item disappears. Do not delete this empty item. If you do anyway, the new folder will be deleted as well. In this case, just press Ctrl+Z to undo the deleting.
112463 The renaming of the in-/outputs in the interface editor might not update the dirty flag as expected.
Scenario for problem: If you rename an in-/output in the interface editor by using the command Edit Name or the F2-key, the name of the in-/output is changed in this editor but the dirty flag might not be displayed for the interface editor.
Additional information: The problem has been detected for some workstations only. On other workstations, the problem did not occur (so the dirty flag has been displayed as expected). At present, there are no details on any differences between the workstations or for the deviations on the scenario performed on the workstations.
Workaround: none existing
112473 Unexpected message on a failed resizing of a block with a fixed size.
Scenario for problem: If the setting Fixed Size is checked within the interface editor, it is impossible to make a call of the block larger or smaller. When you try to enlarge such a call to adjust the size of several FBD-elements in one by using the commands Layout and Same Size, this unexpected message is displayed: A selected block cannot be made smaller because of a minimum height or width for the block.
Workaround: none existing
112484 It is impossible to move a global-object into a namespace folder.
Scenario for problem: When you are using namespace folders in the application navigator, it is impossible to move a global-object from a regular folder into the namespace folder.
Compare: It is possible to create a global-object in this namespace folder.
Workaround: Removing the namespace assignment so that the folder becomes a regular folder. Move the global-object into this folder. Then turn the folder into a namespace folder again.
112503 The context menu in the “Instances” view might not be displayed for the first mouse click.
Scenario for problem: A context menu is usually displayed in the “Instances” view if you click the →secondary mouse button (= press and release) in this view. But this is not true for the first time clicking this mouse button in the view.
Workaround: Click the secondary mouse button a 2nd time to display the context menu.
112508 The “Application” folder does not display the expected content for a library configuration.
Scenario for problem: When you create a library configuration in the Application folder, 2 items are displayed instead of the expected object for the library configuration:
  • an item for a ZIP-file

  • an item named "folderName"

Workaround: none existing

112523 The IO code is not synchronized/updated after some changes in the VAR_CONFIG hardware addresses.
Scenario for problem: When you change hardware addresses in the section VAR_CONFIG … END_VAR (inside a section RES_VARCFG … END_RES_VARCFG), save the changes and you rebuild the application, the IO code is not updated as expected. Instead, the original hardware address is still being considered.
Additional information: The file IOAccess.c is not generated anew.
Workaround: Clean the project after the changes and before the building. Then the IO code is updated as expected.
112570 Duplicate global variables are possible in the global-variables-editor.
Scenario for problem: When you sort the existing global variables and then you change the section of the global variable that is the last item in the editor, the global-variables-editor displays a duplicate for the global variable just modified.
Workaround: Save the changes in the editor, close and reopen the editor. Then the editor does not display the duplicate variable anymore.
112666 The wrong timestamp is displayed for a locked object.
Scenario for problem: The column “Locked on” in the list under “Locked by me” of the team monitor displays a wrong timestamp for a locked object.
Workaround: none existing
112671 The context menu for the team monitor might not be opened at the current mouse position.
Scenario for problem: If you use a different screen scaling than 100%, the context menu for the team monitor is opened at a different position than the current mouse position.
Workaround, if this is sensible: Use a screen scaling of 100%. Or use the keyboard shortcut, if such a shortcut is provided for the command provided in the context menu.
112676 The opening of an FBD function block takes longer than expected.
Scenario for problem: The opening of a specific FBD function block takes up to 5 seconds. In previous versions, this opening of this block took only up to 1 second.
Workaround: none existing
112681 The command “Add Variable to Values of Variables” might create a duplicate of the view.
Scenario for problem: When you perform the following steps, a duplicate view of Values of Variables is displayed (instead of bringing the existing view to the front):
  1. Have the “Values of Variables” view displayed.

  2. Move the view to the right of the error logger.

  3. Bring the error logger to the front.

  4. Close and restart the IDE with the same workspace.
    Result: The “Values of Variables” view is still provided right of the error logger.

  5. Switch to the “Instances” view, expand the tree until a variable is displayed, open the context menu for this variable and select “Add Variable to Values of Variables”.

Workaround: none existing

112715 When using a different screen scaling that 100%, the FBD-editor might not behave as expected.
Scenario for problem: If you use a different screen scaling than 100% and you open the context menu in the FBD-editor, the following issues have been observed:
  1. The context menu editor contains all commands but some commands are disabled. However, it is expected that these commands are enabled.
    Example 1: When opening the context menu for a value field containing a variable, the command for creating the OLT-field is disabled. But it should be possible to create the OLT-field for this value field.

  2. A different FBD-element gets selected instead of the FBD-element where the context menu has been opened.
    Example 2: When opening the context menu for a value field containing a variable, the call of a block gets selected instead of the value field. This call has been positioned to the right of the value field.

Additional information: The changed scaling seems to cause this problem. For both issues, the context text appears to be opened for a wrong FBD-element whereas the context menu is opened at the position of the current mouse cursor. Regarding example 1, the command to create the OLT-field appears to be disabled because the drawing field is incorrectly considered to be the valid context.
Workaround, if this is sensible: Use a screen scaling of 100%. Or use the keyboard shortcut to perform the disabled command. Example: Click the O-key to create the OLT-field.

Checksum for components of Neuron Power Engineer version 3.24.0

This section is not relevant for Neuron Power Engineer version 3.24.0.

Component

Version

Checksum

Description

Neuron Power Engineer IDE

version3.24.0

---             

 

system library Standard

version 3.7.0

---             

 

system library PLCopen Safety

Version 1.2.0

---